\chapter{Model automobilu}
\label{chap:CAR}

Základ modelu automobilu je z práce A Linear Time Varying Model Predictive Control Approach to the Integrated Vehicle Dynamics Control Problem in Autonomous System \cite{auto}. Základní model počítá při popisu dynamiky automobilu se čtyřmi pneumatikami a konstantním zatížením kol. Jako vstupy má prokluz pneumatik a natočení přední nápravy. Model také umožňuje měnit konstantu tření mezi jednotlivými koly a povrchem. Při implementaci byl náš model mírně upraven, přidali jsme možnost řízení zadní nápravy a neuvažovali jsme disipaci energie, takže jedoucí auto se nikdy nezastaví.

\section{Nelineární model}

Model automobilu obsahuje čtyři pneumatiky. Názvy jednotlivých veličin se opakují pro všechny čtyři pneumatiky i když veličiny pro jednotlivé pneumatiky mohou mít rozdílné hodnoty. Rozlišení dosáhneme pomocí indexů, stejně jako v \cite{auto}. Mějme například rychlost pravé přední pneumatiky v ose $x$, ta bude zapsána jako $v_{x_{f,r}}$. $v$ je rychlost, dolní index $x$ značí $x$ osu, $f$ značí přední nápravu (anglické front) a $r$ značí pravou stranu (anglické right).  Obecně je tedy zápis $v_{x_{\ast,\bullet}}$, kde $\ast$ je z množiny $\{f,r\}$ jako přední (front) a zadní (rear), $\bullet$ je z množiny $\{l,r\}$ tedy levá (left) a pravá (right).

Stav modelu je reprezentován jako:
\begin{equation}
\begin{pmatrix}
\dot{y}&
\dot{x}&
\psi&
\dot{\psi}&
Y&
X
\end{pmatrix}^T.
\end{equation}
Proměnné $\dot{y}$ a $\dot{x}$ jsou rychlost v $x$-ové a $y$-ové ose v automobilu. Veličiny $\psi$ a $\dot{\psi}$ je natočení a úhlová rychlost vzhledem ke globální $X$ souřadnici. Souřadnice $X$ a $Y$ je globální poloha automobilu vůči počátku souřadnicové soustavy viz obr. \ref{fig:auto}.

Vstup systému je ve tvaru:
\begin{equation}
\begin{pmatrix}
\delta_f&
\delta_r&
s_{f,l}&
s_{f,r}&
s_{r,l}&
s_{r,r}&
\end{pmatrix}^T.
\end{equation}
Proměnné $\delta_f$ a $\delta_r$ představují natočení přední a zadní nápravy. Zadní náprava má obvykle nulové natočení, ale z důvodu snadného rozšíření modelu o možnost natáčení i zadní nápravou jsme ji ponechali ve vstupu. Proměnné $s_{f,l}$, $s_{f,r}$, $s_{r,l}$, $s_{r,r}$ jsou skluzy pneumatik pro jednotlivá kola viz obr. \ref{fig:auto}.

Skluz $s_{\ast,\bullet}$ je definován jako:
\begin{equation}
s_{\ast,\bullet}=\left\{
\begin{array}{lr}
\frac{r_\omega\omega_{\ast,\bullet}}{v_{l_{\ast,\bullet}}}-1&\text{Pokud }v_{l_{\ast,\bullet}}>r_\omega\omega_{\ast,\bullet},\ v_{l_{\ast,\bullet}}\neq0\\
&\multicolumn{1}{c}{\text{brždění}}\\
1-\frac{v_{l_{\ast,\bullet}}}{r_\omega\omega_{\ast,\bullet}}&\text{Pokud }v_{l_{\ast,\bullet}}<r_\omega\omega_{\ast,\bullet},\ \omega_{\ast,\bullet}\neq0\\
&\multicolumn{1}{c}{\text{rozjezd}}
\end{array}\right.
\label{eq:slip}
\end{equation}
Veličina $r_\omega$ je poloměr kola. Obecně tato veličina nemusí odpovídat poloměru kola, které je v klidu a nezatížené. Pokud dojde k zatížení kola, může se vlivem pružnosti pneumatiky poloměr změnit. My jsme však pro jednoduchost v našem modelu uvažovali poloměr jako konstantní a neměnný. Symbol $\omega_{\ast,\bullet}$ je úhlová rychlost otáčení pneumatiky. Proměnná $v_{l_{\ast,\bullet}}$ vyjadřuje rychlost pneumatiky v podélném směru.

Podíly v rovnici~(\ref{eq:slip}) vyjadřují poměr mezi obvodovou rychlostí pneumatiky a rychlostí pneumatiky v daném směru.  Skluz je tedy v rozsahu $\left\{-1,1\right\}$. Pokud má skluz hodnotu $-1$ kolo plně brzdí a neotáčí se, pro $(-1,0)$ se kolo otáčí, ale brzdí. Pro nulový skluz se kolo volně otáčí a jeho obvodová rychlost odpovídá rychlosti automobilu. V intervalu $(0,1)$ kolo zrychluje a pro skluz $1$ kolo se začíná otáčet z nulové rychlosti.

\begin{figure}
\centering
\includegraphics{model_auta.pdf}
\caption{Dynamický model automobilu.}
\label{fig:auto}
\end{figure}

Samotná dynamika automobilu je popsána rovnicemi:
\begin{subequations}
\begin{align}
m\ddot{y}&=-m\dot{x}\dot{\psi}+F_{y_{f,l}}+F_{y_{f,r}}+F_{y_{r,l}}+F_{y_{r,r}},\\
m\ddot{x}&=m\dot{y}\dot{\psi}+F_{x_{f,l}}+F_{x_{f,r}}+F_{x_{r,l}}+F_{x_{r,r}},\\
\dot{\psi}&=\dot{\psi},\\
I\ddot{\psi}&=a\left(F_{y_{f,l}}+F_{y_{f,r}}\right)-b\left(F_{y_{r,l}}+F_{y_{r,r}}\right)+c\left(-F_{x_{f,l}}+F_{x_{f,r}}-F_{x_{r,l}}+F_{x_{r,r}}\right).
\end{align}
\end{subequations}
Konstanty $a$, $b$, $c$ popsují rozměry automobilu, $a$ je vzdálenost přední nápravy od těžiště automobilu, $b$ je vzdálenost zadní nápravy od těžiště automobilu a $c$ je vzdálenost pneumatik od osy automobilu (předpokládáme osově symetrický automobil). Konstanta~$m$ je hmotnost automobilu a $I$ je moment setrvačnosti automobilu.

Výsledná poloha těžiště automobilu vůči počátku souřadnicového systému je dána rovnicemi:
\begin{subequations}
\begin{align}
\dot{Y}&=\dot{x}\sin \psi+\dot{y}\cos \psi,\\
\dot{X}&=\dot{x}\cos \psi-\dot{y}\sin \psi.
\end{align}
\label{eq:frame}
\end{subequations}

Jednotlivé síly, které působí na pneumatiky v osách automobilu $F_{x_{\ast,\bullet}}$ a $F_{y_{\ast,\bullet}}$ spočteme z příčné (cornering) $F_{c_{\ast,\bullet}}$ a podélné (longitudinal) $F_{l_{\ast,\bullet}}$ síly působící na pneumatiku podle vzorce:
\begin{subequations}
\begin{align}
F_{y_{\ast,\bullet}}&=F_{l_{\ast,\bullet}}\sin \delta_\ast+F_{c_{\ast,\bullet}}\cos \delta_\ast,\\
F_{x_{\ast,\bullet}}&=F_{l_{\ast,\bullet}}\cos \delta_\ast-F_{c_{\ast,\bullet}}\cos \delta_\ast.
\end{align}
\end{subequations}

Příčné a podélné síly pneumatiky jsou definovány v modelu pneumatiky jako:
\begin{subequations}
\begin{align}
F_{c_{\ast,\bullet}}&=f_c\left(\alpha_{\ast,\bullet},s_{\ast,\bullet},F_{z_{\ast,\bullet}}\right),\\
F_{l_{\ast,\bullet}}&=f_l\left(\alpha_{\ast,\bullet},s_{\ast,\bullet},F_{z_{\ast,\bullet}}\right).
\end{align}
\end{subequations}

Zatížení pneumatik je definováno jako:
\begin{subequations}
\begin{align}
F_{z_{f,\bullet}}&=\frac{bmg}{2\left(a+b\right)},\\
F_{z_{r,\bullet}}&=\frac{amg}{2\left(a+b\right)}.
\end{align}
\end{subequations}

\begin{figure}
\centering
\includegraphics{model_pneumatiky.pdf}
\caption{Úhel směrové úchylky pneumatiky.}
\label{fig:pneu}
\end{figure}

Úhel směrové úchylky, který vyjadřuje úhel mezi vektorem aktuální rychlosti kola a jeho podélné složky (viz obr. \ref{fig:pneu}),  je definován jako:
\begin{equation}
\alpha_{\ast,\bullet}=\tan^{-1}\frac{v_{c_{\ast,\bullet}}}{v_{l_{\ast,\bullet}}}.
\end{equation}

Rychlost pneumatiky v podélném $v_{l_{\ast,\bullet}}$ a přičném $v_{c_{\ast,\bullet}}$ jsou definovány jako:
\begin{subequations}
\begin{align}
v_{c_{\ast,\bullet}}&=v_{y_{\ast,\bullet}}\cos \delta_\ast-v_{x_{\ast,\bullet}}\sin \delta_\ast,\\
v_{l_{\ast,\bullet}}&=\sin\delta_\ast+v_{x_{\ast,\bullet}}\cos\delta_\ast.
\end{align}
\end{subequations}

Rychlosti pneumatik vypočteme z rychlosti auta:
\begin{subequations}
\begin{align}
v_{y_{f,l}}&=\dot{y}+a\dot{\psi}&v_{x_{f,l}}&=\dot{x}-c\dot{\psi},\\
v_{y_{f,r}}&=\dot{y}+a\dot{\psi}&v_{x_{f,r}}&=\dot{x}+c\dot{\psi},\\
v_{y_{r,l}}&=\dot{y}-b\dot{\psi}&v_{x_{r,l}}&=\dot{x}-c\dot{\psi},\\
v_{y_{r,r}}&=\dot{y}-b\dot{\psi}&v_{x_{r,r}}&=\dot{x}+c\dot{\psi}.
\end{align}
\end{subequations}

\section{Model pneumatik}

Problém modelování pneumatik spočívá v~tom, že se skládá z~různých materiálů (jedná se tedy o~kompozit a nemá všude stejné vlastnosti). Také plocha kontaktu pneumatiky s~povrchem vozovky se mění podle zatížení pneumatiky a celá tato plocha nemá stejné vlastnosti, na~začátku kontaktu s~vozovkou je pevně přimknutá k vozovce a jak se odvaluje, začíná se smýkat. Rozhraní, kde se začíná pneumatika smýkat, se mění podle rychlosti otáčení pneumatiky. Z těchto důvodů existují různé přístupy k problematice a z nich vycházejí různé modely pneumatik. Některé se snaží z~části popsat jevy, ke kterým dochází v~pneumatice při styku s~vozovkou (modely typu grey box), jiné jen aproximují naměřené charakteristiky (black box modely).

V této práci byl zvolen jednoduchý model typu black box, který je popsán v~článku \cite{pneu}. Stejný model je využíván i v článku, který jsme použili pro dynamický model automobilu \cite{auto}. Black box modely využivají naměřená data, kterými proloží křivku. Tato křivka může být reprezentována nějakou řadou (Fourierova řada, polynom, \dots), nebo speciálním vzorcem. Při reprezentaci řadou je většinou potřeba velké množství koeficientů k přesnému proložení funkce, funkce je zvlněná, mimo naměřená data má často velký rozdíl mezi skutečností a modelem a změny koeficientů se neprojeví přímo a jednoduše na změnách tvaru křivky  \cite[p. 1]{pneu}. Proto k popisu modelu \cite{pneu} využívá speciální vzorec, jehož parametry jsou dopočítány optimalizačním softwarem z naměřených hodnot.

Příčná síla je popsána rovnicemi:
\begin{subequations}
\begin{align}
D&=a_1F_z^2+a_2F_z,\\
C&=1,3,\\
B&=\frac{a_3\sin\left(a_4\arctan\left(a_5F_z\right)\right)}{CD},\\
E&=a_6F_z^2+a_7F_z+a_8,\\
\varphi&=\left(1-E\right)(\alpha)+\frac{E}{B}\arctan\left(B\alpha\right),\\
F_c&=D\sin\left(C\arctan\left(B\varphi\right)\right).
\end{align}
\end{subequations}
Koeficienty $a_{\{1,\dots,8\}}$ jsou vypočteny optimalizačním programem, $F_z$ je zatížení pneumatiky, $\alpha$ je úhel směrové úchylky pneumatiky.
inter
Podélná síla je popsána vzorci:
\begin{subequations}
\begin{align}
D&=a_1F_z^2+a_2F_z,\\
C&=1,65,\\
B&=\frac{a_3F_z^2+a_4F_z}{CDe^{a_5F_z}},\\
E&=a_6F_z^2+a_7F_z+a_8,\\
\varphi&=\left(1-E\right)s+\frac{E}{B}\arctan\left(Bs\right),\\
F_l&=D\sin\left(C\arctan\left(B\varphi\right)\right).
\end{align}
\end{subequations}
Koeficienty $a_{\{1,\dots,8\}}$ byly dopočítány z naměřených dat a $s$ je skluz pneumatiky definovaný v rovnici (\ref{eq:slip}).

Ze vzorců je vidět, že podélná síla závisí jen na skluzu a příčná jen na úhlu natočení.

Používáme jednodušší model, než je v \cite{pneu}, jejich model počítá i s možností náklonu pneumatik, my předpokládáme svislou osu pneumatiky vždy rovnoběžnou s osou Z. Původní model také umožňuje posunout graf kolem počátku a uvažovat nenulové síly při nulovém skluzu, my je neuvažujeme a tak zanedbáváme tření. V původním modelu jsou data pouze pro brzdění, v naší práci jsme model rozšířili i pro rozjezd tím způsobem, že jsme graf vytvořili souměrně podle počátku.

\begin{figure}
\centering
\includegraphics{tyre_char.pdf}
\caption{Průběhy $F_c$ a $F_l$ při zatížení $F_z=6\ \text{kN}$.}
\end{figure}





























































